package com.xie.smfs.api;

import net.minecraft.nbt.NbtCompound;

public interface IPlayerData {
    // 基础属性
    int getCustomProperty();
    void setCustomProperty(int value);
    
    // 灵异属性
    float getSpiritResistance();
    void setSpiritResistance(float value);
    
    float getSpiritDamage();
    void setSpiritDamage(float value);
    
    float getCurrentSpirit();
    void setCurrentSpirit(float value);
    
    float getMaxSpirit();
    void setMaxSpirit(float value);
    
    float getRevivalFactor();
    void setRevivalFactor(float value);
    
    float getSanity();
    void setSanity(float value);
    
    // NBT数据操作
    NbtCompound getSpiritData();
    void setSpiritData(NbtCompound data);
    void copyFrom(IPlayerData other);
}